Commodity computing (or Commodity cluster computing) is to use large numbers of already available computing components for parallel computing to get the greatest amount of useful computation at low cost.[1] It is computing done in commodity computers as opposed to high-cost supermicrocomputers or boutique computers. Commodity computers are computer systems manufactured by multiple vendors, incorporating components based on open standards. Such systems are said to be based on commodity components, since the standardization process promotes lower costs and less differentiation among vendors' products. A governing principle of commodity computing is that it is preferable to have more low-performance, low-cost hardware working in parallel (scalar computing) (e.g. AMD x86 CISC[2]) than to have less high-performance, high-cost hardware[3] (e.g. IBM POWER7[4] RISC). At some point, the number of discrete systems in a cluster will be greater than the mean time between failures (MTBF) for any hardware platform, no matter how reliable, so fault tolerance must be built into the controlling software[5][6]. Purchases should be optimized on cost-per-unit-of-performance, not just absolute performance-per-CPU at any cost.
Contents |
The first computers were large, expensive and proprietary. The move towards commodity computing began when DEC introduced the PDP-8 in 1965. This was a computer that was relatively small and inexpensive enough that a department could purchase one without convening a meeting of the board of directors. The entire minicomputer industry sprang up to supply the demand for 'small' computers like the PDP-8. Unfortunately, each of the many different brands of minicomputers had to stand on its own because there was no software and very little hardware compatibility between the brands.
When the first general purpose microprocessor was introduced in 1974 it immediately began chipping away at the low end of the computer market, replacing embedded minicomputers in many industrial devices.
This process accelerated in 1977 with the introduction of the first commodity-like microcomputer, the Apple II. With the development of the VisiCalc application in 1979, microcomputers broke out of the factory and began entering office suites in large quantities, but still through the back door.
The IBM PC was introduced in 1981 and immediately began displacing Apple II's in the corporate world, but commodity computing as we know it today truly began when Compaq developed the first true IBM PC compatible. More and more PC-compatible microcomputers began coming into big companies through the front door and commodity computing was well established.
During the 1980s microcomputers began displacing larger computers in a serious way. At first, price was the key justification but by the late 1980s and early 1990s, VLSI semiconductor technology had evolved to the point where microprocessor performance began to eclipse the performance of discrete logic designs. These traditional designs were limited by speed-of-light delay issues inherent in any CPU larger than a single chip, and performance alone began driving the success of microprocessor-based systems.
By the mid 1990s, every computer made were based on microprocessors, and the majority of general purpose microprocessors were implementations of the x86 instruction set architecture. Although there was a time when every traditional computer manufacturer had its own proprietary micro-based designs there are only a few manufacturers of non-commodity computer systems today.
Today, there are fewer and fewer general business computing requirements that cannot be met with off-the shelf commodity computers. It is likely that the low-end of the supermicrocomputer genre will continue to be pushed upward by increasingly powerful commodity microcomputers.
A large part of the current commodity computing marketplace is based on IBM PC compatibles. This typically means systems that are capable of running Microsoft Windows, Linux, or PC-DOS/MS-DOS, without requiring special drivers.
Some of the general characteristics of a commodity computer are:
Other characteristics of today's commodity computers include:
Some characteristics that are becoming common to many commodity computers and may become part of the commodity computer definition:
Standards such as SCSI, FireWire, and Fibre Channel help commodotize computer systems more powerful than typical PCs. Standards such as ATCA and Carrier Grade Linux are helping to commoditize telecommunications systems. Blade servers, server farms, and computer clusters are also computer architectures that exploit commodity hardware.